const express = require("express");
const auth = require("../middleware/auth");
const articlesCtrl = require("../controller/article.js");
const articleValidator = require("../validator/article");

const router = express.Router();

// 获取文章列表
router.get("/", articlesCtrl.getArticleList);

// feed articles
router.get("/feed", articlesCtrl.feedArticles);

// 获取单篇文章
router.get("/:slug", articleValidator.getArticle, articlesCtrl.getArticle);

// 创建文章
router.post(
  "/",
  auth,
  articleValidator.createArticle,
  articlesCtrl.createArticle
);

// 更新文章
router.put(
  "/:slug",
  auth,
  articleValidator.updateArticle,
  articlesCtrl.changeArticle
);

// 删除文章
router.delete(
  "/:slug",
  auth,
  articleValidator.delArticle,
  articlesCtrl.removeArticle
);

// 添加评论
router.post("/:slug/comments", articlesCtrl.addComment);

// 获取评论
router.get("/:slug/comments", articlesCtrl.getComments);

// 删除评论
router.delete("/:slug/comments", articlesCtrl.removeComment);

// 收藏文章
router.post("/:slug/favorite", articlesCtrl.likeArticle);

// 取消收藏文章
router.delete("/:slug/favorite", articlesCtrl.unlikeArticle);

module.exports = router;
